package com.tpshion.cloud.auth.service;

import com.github.pagehelper.PageInfo;
import com.tpshion.cloud.auth.domain.dto.QueryRoleDto;
import com.tpshion.cloud.auth.domain.dto.SetRoleMenuDto;
import com.tpshion.cloud.auth.domain.dto.SetRolePermissionDto;
import com.tpshion.cloud.auth.utils.support.MenuData;
import java.util.List;

public interface RoleService {

    /**
     * 分页查询角色
     * @param queryRoleDto
     * @return
     */
    PageInfo getPageRoles(QueryRoleDto queryRoleDto);

    /**
     * 删除角色
     * @param roleId
     */
    void deleteRole(String roleId);

    /**
     * 查询菜单数据
     * @param roleId
     * @return
     */
    List<MenuData> getRoleMenuData(String roleId);

    /**
     * 分配角色菜单权限
     * @param setRoleMenuDto
     */
    void setRoleMenuData(SetRoleMenuDto setRoleMenuDto);

    /**
     * 分配角色功能权限
     */
    void setRolePermission(SetRolePermissionDto setRolePermissionDto);
}
